This invention relates generally to controllers for video games and simulators implemented on a computer and more particularly to interfacing multiple multifunctional controllers to a personal computer.
Conventionally, a personal computer is enabled to be controlled by external manual control devices by means of a game card, which provides an external game port into which control devices, such as a joystick, can be plugged. To provide widespread compatibility, which is essential to the ability to mass market a wide variety of video games and simulation programs, industry standards have been developed for game cards for personal computers such as those commonly referred to as IBM-compatibles. The universal adoption of these standards means that any external manual input device designed to control such computers and software must be compatible with the industry-standard game port. Any input device lacking such compatibility will not be able to be used with conventional personal computers equipped with standard game boards and will not be widely accepted.
The problem is that the industry standard game port provides only a limited number of inputs: four discrete signal inputs for receiving binary signals signifying "On" and "Off" and four analog signal inputs for receiving variable voltage signals, such as output by a potentiometer, which are continuously variable over a limited range. The number of game boards that can be plugged into a conventional PC is also limited, to one. Consequently, the number of controllers supported by a standard game port, and the number of allowable functions communicated thereby, is severely restricted.
For example, a PC configured as a combat aviation video game/simulator as shown in FIG. 1 has a joystick controller and a foot-pedal rudder controller. The joystick conventionally has a handle pivotally coupled to a base for forward/rearward movement and left/right movement by the user. The handle is connected in the base to transducers such as potentiometers coupled to two of the analog inputs of the game port to input proportional signals to the PC microprocessor to control analog functions in the video game/simulation program. The handle also includes four discrete switches that are operable by the user's fingers to control discrete functions in the video game/simulation program. The joy-stick controller therefore consumes two of the analog inputs and all four of the discrete inputs. The foot-pedal rudder controller potentiometer can be supported on one of the remaining analog inputs by providing a "Y-connector" as shown in FIG. 1, which is known in the art. With this arrangement there are no discrete inputs left in the conventional game port to support the discrete switches of a throttle controller and only a single analog input.
Attempting to circumvent these limitations, video game and simulator programmers have implemented many commands by programming function keys on the PC keyboard. This approach detracts from the realism of simulation, which is particularly important to flight simulation video games. Developers have strived to attain more realism by designing microprocessor-based input devices which output keycodes to the PC keyboard port emulating function keys on the PC keyboard. One example is disclosed in U.S. Pat. No. 4,852,031 to Brasington. Thrustmaster, Inc. has also marketed a single throttle controller that outputs keycodes to the PC keyboard port. These efforts have been successful to some extent but have also encountered limits on the number of controllers that can be used simultaneously.
In addition to the technical limitations of the keyboard emulation technique, the cost and complexity of the electronics required to accomplish the keyboard port emulation can also be prohibitively expensive. Because of the ubiquitous use of the controlled functions in complex video games the emulation hardware must be able to translate the controller inputs into one of many unique key commands required by the specific video simulation software. In order to accomplish the emulation, as well as provide the normal keyboard functionality, the hardware typically requires a microprocessor and its associated components, e.g., RAM and ROM.
Other approaches to supporting additional inputs and/or controllers are disclosed in the following U.S. Pat. Nos. 4,588,187 to Dell; 4,924,216 to Lemg; 4,868,780 to Stern; 5,234,395 to Stern; and 4,501,424 to Stone et al. These are generally more complicated and expensive than is desirable.
Accordingly, a need remains for a better way to interface a plurality of multi-functional game controllers to a video game or simulation program running on a conventional PC via a game card without having to emulate keyboard commands in hardware.